package com.cloud.lan.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloud.lan.api.dto.req.BaseReq;
import com.cloud.lan.api.dto.req.DelReq;
import com.cloud.lan.api.dto.req.LanGoodsEvaluateReq;
import com.cloud.lan.entity.base.BaseResponse;
import com.cloud.lan.entity.model.dataobject.LanGoodsEvaluateDO;

import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 商品评价信息表 服务类
 * </p>
 *
 * @author xyqierkang@163.com
 * @since 2022-05-21
 */
public interface ILanGoodsEvaluateService extends IService<LanGoodsEvaluateDO> {

    /**
     * 查询 商品评价列表
     * @author ErKang
     * @param req
     * @return com.cloud.lan.entity.base.BaseResponse<java.lang.Object>
     * 2022-05-21 20:17
     */
    BaseResponse<Object> manageList(LanGoodsEvaluateReq req);

    /**
     * 新增 商品评价
     * @author ErKang
     * @param req
     * @return com.cloud.lan.entity.base.BaseResponse<java.lang.Object>
     * 2022-05-21 20:18
     */
    BaseResponse<Object> add(LanGoodsEvaluateReq req);

    /**
     * 更新 商品评价
     * @author ErKang
     * @param req
     * @return com.cloud.lan.entity.base.BaseResponse<java.lang.Object>
     * 2022-05-21 20:18
     */
    BaseResponse<Object> update(LanGoodsEvaluateReq req);

    /**
     * 删除 商品评价
     * @author ErKang
     * @param req
     * @return com.cloud.lan.entity.base.BaseResponse<java.lang.Object>
     * 2022-05-21 20:18
     */
    BaseResponse<Object> delete(DelReq req);

    /**
     * 评论 导入
     * @author ErKang
     * @return com.cloud.lan.entity.base.BaseResponse<java.lang.Object>
     * 2022/5/22 23:53
     */
    BaseResponse<Object> importEvaluate(@RequestHeader(BaseReq.ut) String token, @RequestParam("file") MultipartFile file);

    /**
     * 商品评价置顶
     * @author ErKang
     * @return com.cloud.lan.entity.base.BaseResponse<java.lang.Object>
     * 2022/6/22 02:09
     */
    BaseResponse<Object> topping(LanGoodsEvaluateReq req);
}
